클로드 코드 완벽 가이드 — 9장 클로드의 생각 과정 제어하기 딥다이브 학습 노트

출처: 클로드 코드 완벽 가이드 (코드팩토리 최지호) | 참고: https://github.com/codefactory-co


9장에서 다루는 내용

  • CoT(Chain of Thought)의 이해 — AI에게 단계별로 사고하도록 유도하는 프롬프팅 기법
  • CoT 유도하기 — 프롬프트에 '생각해라'를 넣어 사고 과정을 이끌어내는 방법
  • XML 태그로 사고와 답변 분리<thinking><answer> 태그로 구조화된 응답 얻기
  • 확장된 사고(Extended Thinking) — 사고 예산을 할당해 더 깊고 복잡한 추론을 수행하는 고급 기능

전체 흐름도

[AI 응답 품질 향상]
    |
    v
+------------------------------+     +-------------------------------+
| CoT (Chain of Thought)       |     | 확장된 사고 (Extended Thinking)|
| 사고의 사슬 프롬프팅           |     | 사고 예산 기반 심층 추론        |
|                              |     |                               |
| 방법 1: "생각해라" 키워드      |     | 트리거: "고민해라" 키워드       |
| → 단계별 답변 유도             |     | → Think (기본 사고)            |
|                              |     | → Think Hard (깊은 사고)       |
| 방법 2: XML 태그 분리          |     | → Think Harder (더 깊은 사고)   |
| → <thinking> + <answer>      |     |                               |
| → 사고/답변 명확 구분           |     | 수만 토큰 사고 예산 할당        |
+------------------------------+     +-------------------------------+
         |                                      |
         v                                      v
   정확성 + 일관성 향상                 복잡한 문제 해결 + 에지 케이스 커버

선수 지식 체크리스트

  • [ ] 프롬프트 기본 개념 (AI에게 지시하는 방법)
  • [ ] 클로드 코드 기본 사용법 (프롬프트 입력/응답 확인)
  • [ ] XML 태그 기초 (<tag>내용</tag> 형태)
  • [ ] REST API 기본 개념 (예제 이해를 위해)

핵심 키워드

키워드 의미
CoT (Chain of Thought) 사고의 사슬. AI에게 결론 전에 단계별 사고 과정을 명시하도록 유도하는 프롬프팅 기법
확장된 사고 (Extended Thinking) 수만 토큰의 사고 예산을 할당하여 AI가 더 깊이 추론하게 하는 고급 기능
사고 예산 (Thinking Budget) 확장된 사고에서 AI가 사용할 수 있는 사고 토큰의 양
XML 태그 분리 <thinking>, <answer> 등 태그를 사용해 사고와 답변을 구조적으로 구분하는 기법
플래닝 모드 클로드 코드에서 생각 과정을 회색으로, 답변을 별도로 표시하는 모드

섹션 1: CoT의 이해

한 줄 요약

CoT는 AI에게 "결론부터 말하지 말고 과정을 차근차근 설명해봐"라고 요청하는 프롬프팅 기법이다.

쉬운 설명 (수학 시험 비유)

"수학 시험에서 답만 적으면 부분 점수를 못 받지만, 풀이 과정을 써놓으면 어디서 틀렸는지 알 수 있고, 선생님도 확인할 수 있다."

AI도 마찬가지다: - CoT 없이: "REST API 설계해줘" → 바로 결론만 제시 (과정이 보이지 않음) - CoT 사용: "단계별로 생각해서 REST API 설계해줘" → 1단계 리소스 식별 → 2단계 URL 설계 → ... → 결론

CoT를 적용해야 하는 이유 3가지

┌──────────────────────────────────────────────────────────┐
│ 1. 정확성(Accuracy) 향상                                  │
│    수학, 논리 추론, 복합 분석 등 여러 단계 작업에서          │
│    각 단계를 검증하므로 오류를 획기적으로 줄임               │
├──────────────────────────────────────────────────────────┤
│ 2. 일관성(Coherence) 향상                                 │
│    결과물이 더욱 긴밀하고 체계적인 구성을 갖춤               │
├──────────────────────────────────────────────────────────┤
│ 3. 디버깅 용이성(Debugging)                               │
│    논리적 흐름이 투명하게 보이므로, 어느 추론 단계에서       │
│    문제가 발생했는지 파악하고 프롬프트를 수정하기 쉬움       │
└──────────────────────────────────────────────────────────┘

CoT가 불필요한 경우

단, 모든 작업에 CoT가 필요한 것은 아니다. 응답 속도가 중요하거나 작업이 단순한 경우에는 오히려 비효율적이다. 성능과 지연 시간 사이의 균형을 고려하여 신중하게 사용해야 한다.

핵심 체크포인트

  • [ ] CoT = "사고의 사슬", 단계별 사고 과정을 명시적으로 기술하도록 유도
  • [ ] 정확성, 일관성, 디버깅 용이성 — 세 가지 핵심 이점 기억
  • [ ] 단순한 작업에는 CoT가 오히려 비효율적 (속도 vs 성능 트레이드오프)

섹션 2: CoT 유도하기

한 줄 요약

프롬프트에 "생각해라", "단계별로 설명해줘" 같은 문구만 넣으면 CoT를 유도할 수 있다.

쉬운 설명 (선생님 비유)

"학생에게 '답만 말해봐'라고 하면 답만 나오지만, '풀이 과정을 보여줘'라고 하면 과정을 하나하나 적어준다. AI도 똑같다."

실무 예제: REST API 설계 — CoT 유도

❌ CoT 없이 (단순 요청)

단순히 REST API를 어떻게 설계 할 수 있는지 단계별로 생각하고 답변해줘.

→ 클로드가 단계별로 답변하지만, 사고 과정이 자세하지 않고 어디까지가 생각인지 모호

✅ CoT + XML 태그 분리 (구조화된 요청)

REST API를 구축하려면 어떻게 해야 해? 생각 과정을 <thinking> 태그에 입력해주고
생각한 과정을 분석하고 그를 기반으로 <answer> 태그에 답변을 입력해줘.

<thinking> 안에 사고 과정이 명확히 분리되고, <answer> 안에 정리된 답변 제공

XML 태그로 사고와 답변 분리하기

프롬프트:
  "생각 과정을 <thinking> 태그에, 답변을 <answer> 태그에 입력해줘"

AI 응답 구조:
  <thinking>
    REST API 구축에 대한 질문입니다. 다음과 같은 순서로 설명하면 좋을 것 같습니다:
    1. REST API의 개념과 원칙
    2. 기술 스택 선택
    3. API 설계 과정
    ...
    각 단계별로 구체적이고 실용적인 정보를 제공해야 합니다.
  </thinking>

  <answer>
    REST API를 구축하는 방법을 단계별로 설명드리겠습니다.
    1. REST API 기본 개념 이해
       - 자원(Resource): URI로 식별
       - 행위(Verb): HTTP 메서드 (GET, POST, PUT, DELETE)
       - 표현(Representation): JSON, XML 등
    2. 기술 스택 선택
       - Node.js: Express.js, Fastify, NestJS
       - Python: Django REST Framework, FastAPI, Flask
       ...
  </answer>

플래닝 모드에서의 표시

클로드 코드의 플래닝 모드에서 XML 형태로 답변을 요구하면 실제 XML 태그는 생략해서 답변하는 경우가 있다. 하지만 생각은 제시된 플랜 위에 회색으로 표시되므로 사고와 답변을 쉽게 구분할 수 있다.

핵심 체크포인트

  • [ ] "생각해라", "단계별로 설명해줘" — 이런 키워드만으로 CoT 유도 가능
  • [ ] XML 태그(<thinking>, <answer>)로 사고/답변을 명확히 분리
  • [ ] 클로드 코드 플래닝 모드에서는 생각이 회색, 답변이 별도로 표시됨

섹션 3: 확장된 사고 (Extended Thinking)

한 줄 요약

확장된 사고는 AI에게 "더 오래, 더 깊이" 생각하도록 사고 예산(토큰)을 할당하여 복잡한 문제를 해결하는 고급 기능이다.

쉬운 설명 (시험 시간 비유)

"수학 시험에서 10분 주면 간단한 문제만 풀 수 있지만, 2시간 주면 어려운 응용문제도 충분히 고민하고 풀 수 있다. 확장된 사고는 AI에게 '시간을 더 줄게, 깊이 생각해봐'라고 하는 것이다."

확장된 사고의 3단계 강도

┌─────────────────────────────────────────────────────────────┐
│ 단계 1: "고민해라" (Think)                                    │
│ → 기본 수준의 확장된 사고                                     │
│ → 예: "이 프로젝트를 분석하고 고민한 다음 테스트 코드 작성해줘" │
├─────────────────────────────────────────────────────────────┤
│ 단계 2: "깊게 고민해라" (Think Hard)                           │
│ → 더 오랜 사고 유도                                           │
│ → 예: "Think hard: 이 함수 테스트의 엣지 케이스들을 추가해줘"  │
├─────────────────────────────────────────────────────────────┤
│ 단계 3: "더 깊게 고민해라" (Think Harder)                      │
│ → 가장 깊은 수준의 사고                                       │
│ → 예: "다루지 않은 에지 케이스에 대해 더욱 깊게 고민해줘"      │
└─────────────────────────────────────────────────────────────┘

실무 예제: 테스트 코드 작성에 활용

❌ 확장된 사고 없이

이 프로젝트에 테스트 코드를 작성해줘.

→ 기본적인 테스트만 생성, 에지 케이스 누락 가능

✅ 확장된 사고 활용

이 프로젝트를 충분히 분석하고 고민한 다음 테스트 코드를 작성해줘.

→ 프로젝트 구조를 먼저 파악하고, 다양한 시나리오를 고려한 테스트 생성

✅ 더 깊은 확장된 사고

다루지 않은 에지 케이스에 대해 더욱 깊게 고민해줘.

→ 경계값, 예외 상황, 동시성 문제 등 다양한 에지 케이스까지 커버

한국어 프롬프팅 팁

한국어로 프롬프팅할 때 더 확실히 사고 수준을 유도하고 싶다면, 프롬프트 앞에 원하는 생각 수준을 먼저 작성한다: - Think: 이 프로젝트에 필요한 보안 작업을 고민해줘 - Think hard: 이 함수 테스트의 엣지 케이스들을 추가해줘

실무 예제: 암호화폐 대시보드 REST API

책에서는 Next.js + React + Supabase 기반 암호화폐 순위 대시보드 프로젝트에서 REST API 설계를 요청하는 예제를 보여준다:

프로젝트 컨텍스트:
  - Next.js 15.2.4와 React 19로 구축된 암호화폐 순위 대시보드
  - Supabase Auth 인증 시스템 적용 예정
  - 한국어로 번역된 UI

확장된 사고 결과 (클로드의 생각 과정):
  1. 암호화폐 데이터 관련 API 목록 도출
  2. 사용자 관련 API 설계
  3. 데이터베이스 스키마 설계 (profiles, portfolios, watchlist 등)

핵심 체크포인트

  • [ ] 확장된 사고 = 사고 예산(Thinking Budget)을 할당하여 수만 토큰 규모로 깊이 추론
  • [ ] 3단계: 고민해라(Think) → 깊게 고민해라(Think Hard) → 더 깊게 고민해라(Think Harder)
  • [ ] 한국어 프롬프트에서도 Think:, Think hard: 접두사로 사고 수준 지정 가능
  • [ ] 단순 작업보다 복잡한 설계, 에지 케이스 커버, 보안 분석 등에 효과적

연습문제

문제 1 (기본)

다음 중 CoT(Chain of Thought) 프롬프팅을 올바르게 설명한 것은? - A) AI의 학습 데이터를 늘리는 기법 - B) AI에게 결론 전에 단계별 사고 과정을 명시하도록 유도하는 기법 - C) AI의 응답 속도를 높이는 기법 - D) AI 모델의 파라미터를 조정하는 기법

정답 보기 B — CoT는 AI가 최종 답변을 내놓기 전에 사고 과정을 명시적으로 기술하도록 유도하는 프롬프팅 기법이다. 인간이 복잡한 문제를 풀 때 단계를 나누어 생각하는 과정과 유사하다.

문제 2 (중급)

REST API 설계를 요청할 때, 다음 두 프롬프트의 차이점을 설명하라: - 프롬프트 A: "REST API를 설계해줘" - 프롬프트 B: "REST API를 설계해줘. 생각 과정을 <thinking> 태그에, 답변을 <answer> 태그에 입력해줘"

정답 보기 프롬프트 A는 결론만 바로 제시하므로 사고 과정이 보이지 않아 디버깅이 어렵다. 프롬프트 B는 XML 태그로 사고와 답변을 분리하므로, AI의 추론 과정을 투명하게 확인할 수 있고, 잘못된 추론 단계를 찾아 프롬프트를 수정하기 쉽다.

문제 3 (심화)

확장된 사고(Extended Thinking)에서 "고민해라", "깊게 고민해라", "더 깊게 고민해라"의 차이를 실무 시나리오로 설명하라. 테스트 코드 작성 상황을 예로 들어라.

정답 보기 - **고민해라(Think)**: "이 프로젝트를 분석하고 고민한 다음 테스트 코드를 작성해줘" → 기본적인 단위 테스트와 통합 테스트를 생성 - **깊게 고민해라(Think Hard)**: "이 함수 테스트의 엣지 케이스들을 추가해줘" → 경계값, null 입력, 빈 배열 등 에지 케이스를 포함한 테스트 생성 - **더 깊게 고민해라(Think Harder)**: "다루지 않은 에지 케이스에 대해 더욱 깊게 고민해줘" → 동시성 문제, 메모리 초과, 네트워크 타임아웃, 권한 충돌 등 극단적 시나리오까지 커버 단계가 올라갈수록 사고 예산(토큰)이 더 많이 할당되어 더 깊고 다양한 케이스를 고려한다.

부록 A: 용어 사전

용어 영문 정의
사고의 사슬 Chain of Thought (CoT) AI에게 단계별 사고 과정을 명시하도록 유도하는 프롬프팅 기법
확장된 사고 Extended Thinking 수만 토큰의 사고 예산을 할당하여 AI가 더 깊이 추론하게 하는 기능
사고 예산 Thinking Budget 확장된 사고에서 AI에게 할당되는 사고용 토큰의 양
정확성 Accuracy CoT 적용 시 각 단계를 검증하여 오류를 줄이는 효과
일관성 Coherence CoT로 체계적이고 긴밀한 구성의 결과물을 얻는 효과
디버깅 용이성 Debugging 사고 과정이 투명하여 문제 단계를 파악하기 쉬운 효과
플래닝 모드 Planning Mode 클로드 코드에서 생각과 답변을 시각적으로 구분해 표시하는 모드

부록 B: 비교표

CoT vs 확장된 사고 비교

구분 CoT (Chain of Thought) 확장된 사고 (Extended Thinking)
개념 단계별 사고 과정 유도 사고 예산을 할당한 심층 추론
유도 방법 "생각해라", "단계별로" "고민해라", "Think Hard"
사고 깊이 기본적인 단계별 분석 수만 토큰 규모의 깊은 추론
적합한 작업 일반적 분석, 설계 복잡한 설계, 에지 케이스, 보안
비용 추가 토큰 소비 적음 사고 예산만큼 토큰 소비 증가
속도 상대적으로 빠름 사고 시간이 길어짐

확장된 사고 강도별 비교

강도 키워드 영문 사고 깊이 적합한 상황
1단계 고민해라 Think 기본 일반적인 분석, 기본 테스트 작성
2단계 깊게 고민해라 Think Hard 깊음 에지 케이스 추가, 상세 설계
3단계 더 깊게 고민해라 Think Harder 매우 깊음 극단적 시나리오, 보안 감사

부록 C: 참고 자료

자료 URL / 출처
클로드 코드 완벽 가이드 GitHub https://github.com/codefactory-co
Anthropic 공식 문서 — Extended Thinking https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking
Chain of Thought Prompting 원논문 (Wei et al., 2022) https://arxiv.org/abs/2201.11903
Anthropic 프롬프트 엔지니어링 가이드 https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering
클로드 코드 공식 문서 https://docs.anthropic.com/en/docs/claude-code
난이도
에피소드
질문
카드를 로딩 중...
답변

클릭하거나 Space를 눌러 뒤집기

0 / 0
학습 진도 0%
이동   Space 뒤집기   R 셔플